package com.ruoyi.base.service;

import java.util.List;
import com.ruoyi.base.domain.BaseDevice;

/**
 * 设备信息Service接口
 * 
 * @author yepanpan
 * @date 2025-02-28
 */
public interface IBaseDeviceService 
{
    /**
     * 查询设备信息
     *
     * @param code 设备代码
     * @return 设备信息
     */
    public BaseDevice selectBaseDeviceByCode(String code);

    /**
     * 查询设备信息
     *
     * @param extCode 设备业务编码
     * @return 设备信息
     */
    public BaseDevice selectBaseDeviceByExtCode(String extCode);

    /**
     * 查询设备信息
     * 
     * @param id 设备信息主键
     * @return 设备信息
     */
    public BaseDevice selectBaseDeviceById(Long id);

    /**
     * 查询设备信息列表
     * 
     * @param baseDevice 设备信息
     * @return 设备信息集合
     */
    public List<BaseDevice> selectBaseDeviceList(BaseDevice baseDevice);

    /**
     * 新增设备信息
     * 
     * @param baseDevice 设备信息
     * @return 结果
     */
    public int insertBaseDevice(BaseDevice baseDevice);

    /**
     * 修改设备信息
     * 
     * @param baseDevice 设备信息
     * @return 结果
     */
    public int updateBaseDevice(BaseDevice baseDevice);

    /**
     * 修改设备状态，不验证自定义属性
     *
     * @param baseDevice 设备信息
     * @return 结果
     */
    public int updateBaseDeviceStatus(BaseDevice baseDevice);

    /**
     * 批量删除设备信息
     * 
     * @param ids 需要删除的设备信息主键集合
     * @return 结果
     */
    public int deleteBaseDeviceByIds(Long[] ids);

    /**
     * 删除设备信息信息
     * 
     * @param id 设备信息主键
     * @return 结果
     */
    public int deleteBaseDeviceById(Long id);

}
